package com.sinosoft.brokerchannel.entity.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sinosoft.brokerchannel.base.model.AbstractRequestMain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * 投保流程的requestMain
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProposalGenerateRequestMain")
@Data
public class ProposalGenerateRequestMain extends AbstractRequestMain implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 投保人信息
     */
    @ApiModelProperty(value = "投保人信息",//说明
            name = "ApplicantVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "ApplicantVO")
    private ApplicantVO applicantVO;
    /**
     * 被保险人信息
     */
    @ApiModelProperty(value = "被保险人信息",//说明
            name = "InsuredVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "InsuredVO")
    private InsuredVO insuredVO;
    /**销售信息*/   //add by liuchenxu 20180718
    @ApiModelProperty(value = "销售信息",//说明
            name = "SaleInformationVo", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    private  SaleInformationVo saleInformation;
    /**
     * 车主信息
     */
    @ApiModelProperty(value = "车主信息",//说明
            name = "VhlownerVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "VhlownerVO")
    private VhlownerVO vhlownerVO;
    /**
     * 交强险信息
     */
    @ApiModelProperty(value = "较强险信息",//说明
            name = "PackageJQVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "PackageJQVO")
    private PackageJQVO packageJQVO;
    /**
     * 商业险信息
     */
    @ApiModelProperty(value = "商业险信息",//说明
            name = "PackageSYVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "PackageSYVO")
    private PackageSYVO packageSYVO;

    /**
     * 配送信息
     */
    @ApiModelProperty(value = "配送信息",//说明
            name = "DeliveryVO", //重命名
            dataType = "类",//类型
            required = true //是否必传,默认false
            //是否允许空值
    )
    @JsonProperty(value = "DeliveryVO")
    private DeliveryVO deliveryVO;
    private String payFinishUrl;
    private String payErrorUrl;
    private String payCancelUrl;
    private String bgRetUrl;
    private String attach;
    private String ilogSaleNo;
}
